/*
 * CS_LEVEL_UP_GUILD.cpp
 *
 *  Created on: 2014. 7. 31.
 *      Author: spencer
 */




#include "../../User.h"
#include "../../Command.h"
#include "../../Proxy.h"

#include "../protocol/Guild.h"

namespace ProjectZ { namespace NCommand {

void Command::CS_LEVEL_UP_GUILD(User * pUser, ::Network::Packet * pPacket)
{
/*
/* 길드 등업   박준성
CS_GUILD_GRADE_UP		0x3242
{

}

SC_GUILD_GRADE_UP		0x3243
{
	s16 s16ack;				/// ACK_OK : 성공
							/// ACK_GUILD_NOT_ENOUGH_POINT : 길드 포인트 부족
							/// ACK_GUILD_PERMISSION_ERROR : 길드생성권한 없음
	u8	u8level;			/// 등업된 레벨 또는 현재의 레벨
	u32	u32point;			/// 현재의 길드 포인트
	u32	u32next_base_point;	/// 다음 등급이 되기 위한, 기준(최대) 길드 포인트
}

*/
	PREPARE_PACKET;


	if (0 >= pUser->GetUserInfo().guild_seq )
	{
		::Network::Packet * pAck = ::Network::GETPACKETPOOL()->SEND_NEW();
		*pAck << static_cast<int16_t>(ACK_UNKNOWN_ERROR);
		pAck->MakePacket(CMD_SC_GUILD_GRADE_UP);
		pUser->Send(pAck);
		return;
	}


	UpdateGuildLevelSyn syn;
	syn.user_seq	= pUser->GetUserSeq();
	syn.guild_seq = pUser->GetGuildSeq();

//	DEBUGLOG("%s> user_seq: %d, guild_seq: %d"
//			, __FUNCTION__
//			, syn.user_seq, syn.guild_seq
//			);

	if (false == NProxy::SendGuildServer(pUser, syn))
	{
		::Network::Packet * pAck = ::Network::GETPACKETPOOL()->SEND_NEW();
		*pAck << static_cast<int16_t>(ACK_UNKNOWN_ERROR);
		pAck->MakePacket(CMD_SC_GUILD_GRADE_UP);
		pUser->Send(pAck);
		return;
	}
}

} /*NCommand*/ } /*ProjectZ*/
